package com.xuecheng.media.service;

import com.xuecheng.media.model.po.MediaProcess;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 任务处理
 */
public interface MediaFileProcessService {

    /**
     * 查询待处理任务
     * @param shardTotal 分片总数
     * @param shardIndex 分片序号
     * @param count 失败次数
     * @return
     */
    List<MediaProcess> getMediaProcessList(int shardTotal, int shardIndex, int count);

    /**
     * 开启任务
     * @param id
     * @return
     */
    boolean startTask(long id);

    /**
     * 保存任务结果
     * @param taskId 任务id
     * @param status 任务状态
     * @param field 文件id
     * @param url 文件url
     * @param errorMsg 错误信息
     */
    void saveProcessFinishStatus(Long taskId, String status, String field, String url, String errorMsg);
}
